home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 August / Macworld (1997-08).dmg / Shareware World / Info / For Developers / ictb Compiler 1.0 / Example Project / Example.p < prev    next >
Text File  |  1997-06-17  |  2KB  |  73 lines

  1. program Example;
  2.  
  3.     uses
  4.         Types, Resources, Fonts, Windows, QuickDraw, Menus, TextEdit, Dialogs, Memory;
  5.  
  6.     procedure SetDialogTextFont (window: DialogPtr; font, size: integer; face: Style);
  7.         var
  8.             saved_port: GrafPtr;
  9.             saved_font, saved_size: integer;
  10.             saved_face: Style;
  11.             fi: FontInfo;
  12.             te: TEHandle;
  13.     begin
  14.         GetPort( saved_port );
  15.         SetPort( window );
  16.         saved_font := window^.txFont;
  17.         saved_size := window^.txSize;
  18.         saved_face := window^.txFace;
  19.         
  20.         TextFont( font );
  21.         TextSize( size );
  22.         TextFace( face );
  23.         GetFontInfo(fi);
  24.         te := DialogPeek(window)^.textH;
  25.         te^^.txFont := font;
  26.         te^^.txSize := size;
  27.         te^^.txFace := face;
  28.         te^^.lineHeight := fi.ascent + fi.descent + fi.leading;
  29.         te^^.fontAscent := fi.ascent;
  30.         TECalText(te);
  31.         
  32.         TextFont( saved_font );
  33.         TextSize( saved_size );
  34.         TextFace( saved_face );
  35.         SetPort( saved_port );
  36.     end;
  37.  
  38.     procedure Initialization;
  39.         var
  40.             i: integer;
  41.     begin
  42.         InitGraf(@qd.thePort);
  43.         InitFonts;
  44.         InitWindows;
  45.         InitMenus;
  46.         TEInit;
  47.         InitDialogs(nil);
  48.         MaxApplZone;
  49.         for i := 1 to 3 do begin
  50.             MoreMasters;
  51.         end;
  52.     end;
  53.  
  54.     var
  55.         window, temp_window: WindowPtr;
  56.         item: integer;
  57. begin
  58.     Initialization;
  59.     window := GetNewDialog( 128, nil, WindowPtr(-1) );
  60.     SetPort( window );
  61.     SetDialogTextFont( window, geneva, 9, [] );
  62.     SelectDialogItemText( window, 4, 0, 32767 );
  63.     ShowWindow( window );
  64.     repeat
  65.         ModalDialog( nil, item );
  66.         if item = 2 then begin
  67.             temp_window := GetNewWindow( 128, nil, WindowPtr(-1) );
  68.             DisposeWindow( temp_window );
  69.         end;
  70.     until item = 1;
  71.     DisposeDialog( window );
  72. end.
  73.